package com.yc.jpyy.vehicle.service;

import java.util.List;
import java.util.Map;

import org.springframework.dao.DataAccessException;


public interface VehicleService {

	
//测试
Map<String,Object> update(Map<String,Object> paramsMap) throws DataAccessException;

//测试
Map<String,Object> selects(Map<String,Object> paramsMap) throws DataAccessException;


//检查票
Map<String,Object> checkTicket(Map<String,Object> paramsMap) throws DataAccessException;

//检查票
Map<String,Object> checkTickets(Map<String,Object> paramsMap) throws DataAccessException;

//新增票
Map<String,Object> addTicket(Map<String,Object> paramsMap) throws DataAccessException;

//查询票
Map<String,Object> queryTiket(Map<String,Object> paramsMap) throws DataAccessException;

//获取票号
Map<String,Object> getTicketNum(Map<String,Object> paramsMap) throws DataAccessException;

//更新票证
Map<String,Object> updateTicketDetailStatus(Map<String,Object> paramsMap) throws DataAccessException;

//更新主表票证状态
Map<String,Object> updateTikeStatus(Map<String,Object> paramsMap) throws Exception;


//根据ID查询票详情
Map<String,Object> getTikeById(Map<String,Object> paramsMap) throws DataAccessException;


//新增车辆
Map<String,Object> addVehicle(Map<String,Object> paramsMap) throws DataAccessException;

//查询车辆
Map<String,Object> queryVehicle(Map<String,Object> paramsMap) throws DataAccessException;

//更新车辆
Map<String,Object> updateVehicle(Map<String,Object> paramsMap) throws DataAccessException;

//检查车辆信息是否重复
Map<String,Object> checkVehicleId(Map<String,Object> paramsMap) throws DataAccessException;


//查询车辆详情
Map<String,Object> queryVehicleById(int id) throws DataAccessException;

Map<String, Object> queryVehicleByWx(Map<String, Object> paramsMap)throws DataAccessException;
//新增车辆操作日志
Map<String,Object> addVehicleOperateLog(Map<String,Object> paramsMap) throws DataAccessException;


//查询车辆操作日志记录
Map<String,Object> queryVehicleOperateLog(Map<String,Object> paramsMap) throws DataAccessException;

//查询车辆操作日志详情
Map<String,Object> queryVehicleOperateById(int id) throws DataAccessException;

//更新审核接口
Map<String,Object> updateForCheck(Map<String,Object> paramsMap) throws DataAccessException;

//更新状态接口
Map<String,Object> updateForStatus(Map<String,Object> paramsMap) throws DataAccessException;

//更新是否锁定接口 
Map<String,Object> updateForLock(Map<String,Object> paramsMap) throws DataAccessException;

//更新图片接口 
Map<String,Object> updateForImage(Map<String,Object> paramsMap) throws DataAccessException;

/*//车辆年审（原来逻辑）
Map<String,Object> vehicleCheckYears(Map<String,Object> paramsMap) throws DataAccessException;
*/
//车辆年审(与原来逻辑改变)
Map<String,Object> vehicleCheckYear(Map<String,Object> paramsMap) throws Exception;

//查询关联车辆 
Map<String,Object> queryRelationVehicle(Map<String,Object> paramsMap) throws DataAccessException;


//根据车牌号车辆颜色查询车辆详情
Map<String,Object> queryVehicleByNumber(Map<String,Object> paramsMap) throws DataAccessException;

int updateTicketServer(Map<String, Object> paramsMap)throws DataAccessException;
//车龄统计接口
List<Map<String, Object>> queryVehicleByPietype(Map<String, Object> paramsMap)throws DataAccessException;
//违法事件类型分布
List<Map<String, Object>> selectEgalBehavoir(Map<String, Object> paramsMap)throws DataAccessException;
//违法事件企业分布
List<Map<String, Object>> seletCompanyNameCount(Map<String, Object> paramsMap)throws DataAccessException;
//1、服务上岗证新增统计、轮训培训统计、违规轮训统计接口
List<Map<String, Object>> seletTrainingCount(Map<String, Object> paramsMap)throws DataAccessException;
//超期轮训统计
List<Map<String, Object>> seletOverdueTrainingCount(Map<String, Object> paramsMap)throws DataAccessException;
//企业经营情况统计需要的接口
List<Map<String, Object>> seletCompanyVehicleCount(Map<String, Object> paramsMap)throws DataAccessException;
////企业订单查询
List<Map<String, Object>> seletCompanyOrderCount(Map<String, Object> paramsMap)throws DataAccessException;
//订单统计查询_订单时段分布
List<Map<String, Object>> seletCompanyOrderTimeGroup(Map<String, Object> paramsMap)throws DataAccessException;
//车辆运行统计_企业车辆在线统计
List<Map<String, Object>> findCarOnlineCount(Map<String, Object> paramsMap)throws DataAccessException;

//查询企业名称
List<Map<String, Object>> findCompanyName(Map<String, Object> paramsMap)throws DataAccessException;

//根据车牌查询车辆总数
Map<String,Object> getCountByBrandType(Map<String, Object> paramsMap) throws DataAccessException;


//查询车辆主键ID，车牌号及颜色
Map<String,Object> queryVehicleInfo(Map<String,Object> paramsMap) throws DataAccessException;

//查询所有库车辆主键ID，车牌号及颜色
Map<String,Object> queryAllVehicleInfo(Map<String,Object> paramsMap) throws DataAccessException;


//查询车辆主键ID，车牌号及颜色
Map<String,Object> resetDriverCarRelation(Map<String,Object> paramsMap) throws DataAccessException;

//公司车辆情况统计报表
Map<String,Object> getVehicleCountInfo(Map<String, Object> paramsMap) throws DataAccessException;

List<Map<String, Object>> findVehicleToCarRentalService(Map<String, Object> paramsMap)throws DataAccessException;

Map<String,Object> getTikeDetailInfoByTicketId(Map<String, Object> paramsMap) throws DataAccessException;

Map<String,Object> getInfofromTikeDetail(Map<String, Object> paramsMap) throws DataAccessException;

Map<String,Object> checkNumIsExist(Map<String, Object> paramsMap) throws DataAccessException;

Map<String,Object> addLockForVehicle(Map<String, Object> paramsMap) throws DataAccessException;

Map<String,Object> unlockForVehicle(Map<String, Object> paramsMap) throws DataAccessException;

//行业营运统计需要的接口
List<Map<String, Object>> queryVehicleByCname(Map<String, Object> paramsMap)throws DataAccessException;

//服务评价统计
List<Map<String, Object>> selectServiceEvaluation(Map<String, Object> paramsMap)throws DataAccessException;

//车辆公里数统计
List<Map<String, Object>> selectVehicleCname(Map<String, Object> paramsMap)throws DataAccessException;


//查询所有车辆
Map<String,Object> queryAllVehicle(Map<String,Object> paramsMap) throws DataAccessException;


}